import {
  promisic
} from "./util";
import {
  config
} from "../config/config";

class Http {
  static async request({
                         url,
                         data,
                         method = 'GET'
                       }) {
    let res;
    try {
      res = await promisic(wx.request)({
        url: `${config.apiBaseUrl}${url}`,
        data,
        method,
        header: {
          'content-type': 'application/json',
        }
      })
    } catch (e) {
      console.log(e, '请求错误');
      return null;
    }

    // const code = res.statusCode.toString()
    // if (code.startsWith('2')) {
    //   return res.data
    // } else {
    //   if (code === '401') {
    //     // 二次重发
    //     if (data.refetch) {
    //       Http._refetch({
    //         url,
    //         data,
    //         method
    //       })
    //     }
    //   } else {
    //     if (throwError) {
    //       throw new HttpException(res.data.code, res.data.message, code)
    //     }
    //     if (code === '404') {
    //       if (res.data.code !== undefined) {
    //         return null
    //       }
    //       return res.data
    //     }
    //     const error_code = res.data.code;
    //     Http.showError(error_code, res.data)
    //   }
    //   // 403 404 500
    // }

    return res.data
  }
}

export {
  Http
}
